____ _ _ _ _
| _ \ ___ | |_ (_) _ __ ___ __| | (_) __ _
| |_) | / _ \ | __| | | | '_ \ / _ \ / _| | | | / _ |
| _ < | __/ | |_ | | | |_) | | __/ | (_| | | | | (_| |
|_| \_\ \___| \__| |_| | .__/ \___| \__,_| |_| \__,_|
|_|
- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b
Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―
Java Authentication and Authorization Service
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
top
Java Authentication and Authorization Service (JAAS) ist ein Java-API, welches es ermΓΆglicht, Dienste zur Authentifizierung und Zugriffsrechte in Java-Programmen bereitzustellen. JAAS orientiert sich an den Pluggable Authentication Modules (PAM) und unterstΓΌtzt dadurch eine benutzerbasierte Autorisierung. JAAS wurde ab der Version 1.3.1 der Java Platform, Standard Edition als Erweiterung ausgeliefert und ist ab der Version 1.4 Teil der Java Platform (sowohl Standard Edition als auch EnterpriseEdition). Die zugehΓΆrigen Schnittstellen und Klassen sind im Paket βjavax.security.authβ definiert.
Contents
β’ Funktionsweise
β’ Einsatz
β’ Weblinks
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Funktionsweise
JAAS definiert Standardklassen und ein ΓΌber mehrere Schnittstellen vorgegebenes Framework, damit ein Java-Programm Anwender ΓΌber eine verfahrens- und herstellerneutrale Schnittstelle authentisieren kann. Die eigentliche Authentisierungslogik ist in Provider-Module ausgelagert.
Die eigentliche Definition, wie ein JAAS-nutzendes Programm Anwender authentisieren und ΓΌber welche Authentisierungsdatenquellen dies geschehen soll, wird in einer Java-Properties-Konfigurationsdatei festgelegt. So kann auch nach Fertigstellung eines Programms das verwendete Authentisierungsverfahren geΓ€ndert werden, ohne den Programmcode modifizieren zu mΓΌssen.
Einsatz
Aufgrund der leicht verΓ€nderbaren Konfigurationsdatei und des prinzipiellen Aufbaus eines Java-Programms kann jeder Anwender mit Direktzugriff auf die Class- und Property-Dateien eines JAAS-Programms die verwendeten Provider-Module sehr leicht austauschen und so von einem Programm vorgesehene SicherheitsbeschrΓ€nkungen unterlaufen. Deswegen hat sich JAAS bei 2-Schicht-Anwendungen, bei denen die Anwendungslogik auf EndgerΓ€ten vom Anwender lΓ€uft, bisher kaum durchgesetzt.
Sicher einsetzen lΓ€sst sich JAAS bei 3-Schicht-Anwendungen, bei denen die Anwendungslogik auf einen Applikation-Server auΓerhalb der Reichweite von Anwendern ausgelagert ist. Dort ist JAAS inzwischen auch ein De-facto-Marktstandard fΓΌr Authentisierung. Dieser Standard wird weiter gefestigt, da alle namhaften Hersteller von Java Application Servern inzwischen grundsΓ€tzlich mehrere fertig einsetzbare JAAS-Provider-Module mit ihrem Application Servern mitliefern, mit denen gΓ€ngige Authentisierungsprotokolle abgedeckt sind (z. B. LDAP, SAML, PKI Zertifikate, SQL-Datenbanken).
FΓΌr eine Anbindung an im Unix-Umfeld ΓΌbliche PAM-Authentisierungsmodule wird ein Bridge-Modul benΓΆtigt, fΓΌr das u. a. freie Implementierungen verfΓΌgbar sind.
Weblinks
β’ JAAS Reference Guide (englisch)
β’ JAAS Authentication Tutorial (englisch)
β’ PAM login module for JAAS bei SourceForge (englisch)
β’ Java-PAM bridge bei SourceForge (englisch)